fix: upgrade shell-quote to 1.8.4 (CVE-2026-9277) - #11151
Conversation
Automated dependency upgrade by OrbisAI Security
📝 WalkthroughWalkthroughThe package configuration adds a pnpm override that pins ChangesDependency configuration
Estimated code review effort: 1 (Trivial) | ~2 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment Warning |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@package.json`:
- Around line 88-92: Regenerate pnpm-lock.yaml after the pnpm.overrides
configuration in package.json pins shell-quote to 1.8.4. Ensure the lockfile
records the matching override and resolves all transitive shell-quote entries to
1.8.4, preserving a frozen-lockfile-compatible dependency graph.
🪄 Autofix
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
| }, | ||
| "pnpm": { | ||
| "overrides": { | ||
| "shell-quote": "1.8.4" | ||
| } |
There was a problem hiding this comment.
🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
rg -n -C 2 'shell-quote|overrides' package.json pnpm-lock.yaml
if rg -n 'shell-quote: 1\.8\.3|shell-quote@1\.8\.3' pnpm-lock.yaml; then
echo "Stale shell-quote 1.8.3 resolution found" >&2
exit 1
fiRepository: TanStack/query
Length of output: 1591
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "package.json override section:"
sed -n '85,93p' package.json
echo
echo "pnpm-lock overrides section:"
sed -n '7,11p' pnpm-lock.yaml
echo
echo "pnpm-lock nested shell-quote@1.8.3 dependency references:"
python3 - <<'PY'
import re
with open('pnpm-lock.yaml', encoding='utf-8') as f:
text = f.read()
for key in re.findall(r'(?:^ {4}|^ {6})dependencies:\s*\n(?:[^:]+:\s*\n)*\s{8,}shell-quote:\s*([^\s\n]+)', text, flags=re.M):
print(key)
PY
echo
echo "pnpm-lock shell-package version labels:"
python3 - <<'PY'
import re
with open('pnpm-lock.yaml', encoding='utf-8') as f:
for i, line in enumerate(f, 1):
if re.match(r'\s+shell-(?:command-for-windows|shell-quote)@\d+\.\d+\.\d+:', line):
print(f'{i}: {line.strip()}')
PYRepository: TanStack/query
Length of output: 592
Regenerate pnpm-lock.yaml for this override.
package.json pins shell-quote to 1.8.4, but pnpm-lock.yaml still has no matching override and still resolves shell-quote to 1.8.3. Keep the committed dependency graph consistent so frozen-lockfile installs do not fail and the pinned version applies transitively.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@package.json` around lines 88 - 92, Regenerate pnpm-lock.yaml after the
pnpm.overrides configuration in package.json pins shell-quote to 1.8.4. Ensure
the lockfile records the matching override and resolves all transitive
shell-quote entries to 1.8.4, preserving a frozen-lockfile-compatible dependency
graph.
Summary
Upgrade shell-quote from 1.8.3 to 1.8.4 to fix CVE-2026-9277.
Vulnerability
CVE-2026-9277pnpm-lock.yaml(dependency:shell-quote)Description: shell-quote: shell-quote: Arbitrary code execution via command injection due to unescaped line terminators
Evidence
Scanner confirmation: trivy rule
CVE-2026-9277flagged this pattern.Changes
package.jsonpnpm-lock.yamlBehavior Preservation
The change is scoped to 2 files on the vulnerable path; it only tightens handling of untrusted input and leaves valid inputs unaffected.
This change addresses a pattern flagged by static analysis. The code path handles user-influenced input and the fix reduces the attack surface against both manual and automated exploitation.
Automated security fix by OrbisAI Security
Summary by CodeRabbit